#pragma once

#include <Totem/types_config.h>

namespace Game
{
	namespace World
	{
		namespace Components { class Room; }

		enum EXIT_DIRECTION
		{
			EXIT_NORTH = 1,
			EXIT_NORTH_EAST,
			EXIT_EAST,
			EXIT_SOUTH_EAST,
			EXIT_SOUTH,
			EXIT_SOUTH_WEST,
			EXIT_WEST,
			EXIT_NORTH_WEST,
			EXIT_UP,
			EXIT_DOWN,
			SPAWN
		};

		class Exit
		{
		public:
			Exit(const U32 &direction, Components::Room &from, Components::Room &to)
				: direction(direction), from(from), to(to)
			{
			}

			const U32 &getDirection() const { return direction; }
			Components::Room &getFrom() { return from; }
			Components::Room &getTo() { return to; }

		private:
			U32 direction;
			Components::Room &from;
			Components::Room &to;
		};
	}
}
